home *** CD-ROM | disk | FTP | other *** search
/ The CICA Windows Explosion! / The CICA Windows Explosion! - Disc 2.iso / programr / dpmigcc5.zip / RSX / SOURCE / DPMI10.H < prev    next >
C/C++ Source or Header  |  1994-12-12  |  3KB  |  84 lines

  1. #ifndef _DPMI10_H
  2. #define _DPMI10_H
  3.  
  4. /* struct DESCRIPTOR needed */
  5. #ifndef _DPMI_H
  6. #include "DPMI.H"
  7. #endif
  8.  
  9. #define LIN_MEM_UNCOMMIT    0
  10. #define LIN_MEM_COMMIT        1
  11.  
  12. #define PAGE_UNCOMMIT        0
  13. #define PAGE_COMMIT        1
  14. #define PAGE_MAPPED        2
  15. #define PAGE_RDWR        8
  16. #define PAGE_ACCDIRTY       16
  17. #define PAGE_ACCESS       32
  18. #define PAGE_DIRTY       64
  19.  
  20. #define FPU_ENABLE        1
  21. #define FPU_EMU_CLIENT        2
  22. #define FPU_PRESENT        4
  23. #define FPU_EMU_HOST        8
  24. #define FPU_GET_NO(type)    (((type) >> 4 ) & 0xF)
  25.  
  26. typedef struct {
  27.     DWORD   HostPhysicalMemory ;
  28.     DWORD   HostVirtuelMemory ;
  29.     DWORD   HostFreeVirtuelMemory ;
  30.     DWORD   VMVirtuelMemory ;
  31.     DWORD   VMFreeVirtuelMemory ;
  32.     DWORD   ClientVirtuelMemory ;
  33.     DWORD   ClientFreeVirtuelMemory ;
  34.     DWORD   LockedMemory ;
  35.     DWORD   ClientMaxLockedMemory ;
  36.     DWORD   ClientHighestLinearAddress ;
  37.     DWORD   LargestMemoryBlock    ;
  38.     DWORD   MinimumUnitValue ;
  39.     DWORD   MemoryAlignValue ;
  40.     BYTE    res[76];
  41.     } DPMI10INFO;
  42.  
  43. typedef struct {
  44.     WORD    bits;
  45.     WORD    res1;
  46.     WORD    res2;
  47.     } DPMICAP ;
  48.  
  49. typedef struct {
  50.     DWORD   error_code;
  51.     DWORD   eip;
  52.     DWORD   cs;
  53.     DWORD   eflags;
  54.     DWORD   esp;
  55.     DWORD   ss;
  56.     DWORD   ds;
  57.     DWORD   es;
  58.     DWORD   fs;
  59.     DWORD   gs;
  60.     DWORD   cr2;
  61.     DWORD   pte;
  62.     } EXCEPTION_10 ;
  63.  
  64. int    GetMultipleDescriptors(UINT, DESCRIPTOR *);
  65. int    SetMultipleDescriptors(UINT, DESCRIPTOR *);
  66. int    GetProtModeExceptionVector32(BYTE, UINT *, DWORD *);
  67. int    GetRealModeExceptionVector32(BYTE, UINT *, DWORD *);
  68. int    SetProtModeExceptionVector32(BYTE, UINT, DWORD);
  69. int    SetRealModeExceptionVector32(BYTE, UINT, DWORD);
  70. int    GetDPMICapabilities(DPMICAP *,BYTE *);
  71. int    AllocLinearMemory(DWORD bytes,DWORD linaddress,DWORD flags,DWORD *handle,DWORD *memaddress);
  72. int    ResizeLinearMemory(DWORD bytes,DWORD handle,DWORD flags,DWORD *newhandle,DWORD *newmemaddress);
  73. int    GetPageAttributes(DWORD handle,DWORD offs,DWORD pages,WORD *attr);
  74. int    ModifyPageAttributes(DWORD handle,DWORD offs,DWORD pages,WORD *attr);
  75. int    MapDeviceInMemoryBlock(DWORD handle,DWORD offs,DWORD pages,DWORD device);
  76. int    MapDOSMemInMemoryBlock(DWORD handle,DWORD offs,DWORD pages,DWORD dosmem);
  77. int    GetMemoryBlockData(DWORD handle,DWORD *addr,DWORD *bytes);
  78. int    GetMemoryInfo(DPMI10INFO *);
  79. int    FreePhysicalMapping(DWORD address);
  80. int    DpmiGetCoproStatus(UINT *status);
  81. int    DpmiSetCoproStatus(UINT status);
  82.  
  83. #endif /* _DPMI10_H */
  84.